<?php

require_once(BaseConfig::LoadClass('objeto_base.class.php'    ));
require_once(BaseConfig::LoadClass('filtro.class.php'         ));
require_once(BaseConfig::LoadClass('abc.class.php'            ));

class CotizacionLinea extends ObjetoBase {
  var $intIdCotizacionLinea;
  var $intIdCotizacion     ;
  var $fltCantidad         ;
  var $intIdProducto       ;
  var $strUnidadMedida     ;
  var $fltPrecio           ;
  var $fltImporte          ;
  
  function CotizacionLinea($intIdCotizacionLinea = 0) {
    $arrMapaDatos = Array();
    $arrMapaDatos['id_cotizacion_linea'] = Array('NombreVariable' => 'intIdCotizacionLinea', 'TipoVariable' => 'I');
    $arrMapaDatos['id_cotizacion'      ] = Array('NombreVariable' => 'intIdCotizacion'     , 'TipoVariable' => 'N');
    $arrMapaDatos['cantidad'           ] = Array('NombreVariable' => 'fltCantidad'         , 'TipoVariable' => 'N');
    $arrMapaDatos['id_producto'        ] = Array('NombreVariable' => 'intIdProducto'       , 'TipoVariable' => 'N');
    $arrMapaDatos['unidad_medida'      ] = Array('NombreVariable' => 'strUnidadMedida'     , 'TipoVariable' => 'S');
    $arrMapaDatos['precio'             ] = Array('NombreVariable' => 'fltPrecio'           , 'TipoVariable' => 'N');
    $arrMapaDatos['importe'            ] = Array('NombreVariable' => 'fltImporte'          , 'TipoVariable' => 'N');
    
    $this->__ArmarDatosPrivados('cotizacion_linea', $arrMapaDatos, 'id_cotizacion_linea');
    $this->SeleccionarPorIndice($intIdCotizacionLinea);
  }
}

class FiltroCotizacionLinea extends Filtro {
  function FiltroCotizacionLinea() {
    $arrNombresColumnas['id_cotizacion'   ] = "Cotizacion"      ;
    $arrNombresColumnas['id_cliente'      ] = "Cliente"         ;
    $arrNombresColumnas['id_inventario'   ] = "Equipo"          ;
    $arrNombresColumnas['fecha'           ] = "Fecha"           ;
    $arrNombresColumnas['contacto'        ] = "Contacto"        ;
    $arrNombresColumnas['correo'          ] = "Correo"          ;
    $arrNombresColumnas['telefono'        ] = "Telefono"        ;
    $arrNombresColumnas['vigencia'        ] = "Vigencia"        ;
    $arrNombresColumnas['garantia'        ] = "Garantia"        ;
    $arrNombresColumnas['tiempo_entrega'  ] = "Tiempo Entrega"  ;
    $arrNombresColumnas['condiciones_pago'] = "Condiciones Pago";
    
    $arrReferencias['id_cliente'   ]["tabla"]["nombre"] = "cat_clientes";
    $arrReferencias['id_cliente'   ]["tabla"]["indice"] = "id_cliente"  ;
    $arrReferencias['id_cliente'   ]["tabla"]["desc"  ] = "razon_social";
    $arrReferencias['id_inventario']["tabla"]["nombre"] = "inventario";
    $arrReferencias['id_inventario']["tabla"]["indice"] = "id_inventario"  ;
    $arrReferencias['id_inventario']["tabla"]["desc"  ] = "CONCAT(no_eco, ' ', marca, ' ', modelo, ' ', serie, ' ', tipo)";
    
    parent::CrearFiltro("cotizacion", "id_cotizacion", $arrNombresColumnas, "Busqueda", "", "", "Cotizacion", $arrReferencias);
  }
}

class ABC_CotizacionLinea extends ABC_Base {
  function ABC_CotizacionLinea() {
    $strClaseBase     = "CotizacionLinea"      ;
    $strClaseFiltro   = "FiltroCotizacionLinea";
    $strClaseCarga    = ""                     ;
    $strCampoMostrar  = "id_cotizacion"        ;
    $strOpcionListado = "abc_cotizacion_linea" ;
    $strOpcionGuardar = "abc_cotizacion_linea" ;

    $arrNombresColumnas = array();
    $arrNombresColumnas['id_cliente'      ] = "Cliente"         ;
    $arrNombresColumnas['id_inventario'   ] = "Equipo"          ;
    $arrNombresColumnas['fecha'           ] = "Fecha"           ;
    $arrNombresColumnas['contacto'        ] = "Contacto"        ;
    $arrNombresColumnas['correo'          ] = "Correo"          ;
    $arrNombresColumnas['telefono'        ] = "Telefono"        ;
    $arrNombresColumnas['vigencia'        ] = "Vigencia"        ;
    $arrNombresColumnas['garantia'        ] = "Garantia"        ;
    $arrNombresColumnas['tiempo_entrega'  ] = "Tiempo Entrega"  ;
    $arrNombresColumnas['condiciones_pago'] = "Condiciones Pago";
    
    $arrReferencias = array();
    $arrReferencias['id_cliente'   ]["tabla"]["nombre"] = "cat_clientes";
    $arrReferencias['id_cliente'   ]["tabla"]["indice"] = "id_cliente"  ;
    $arrReferencias['id_cliente'   ]["tabla"]["desc"  ] = "razon_social";
    $arrReferencias['id_inventario']["tabla"]["nombre"] = "inventario";
    $arrReferencias['id_inventario']["tabla"]["indice"] = "id_inventario"  ;
    $arrReferencias['id_inventario']["tabla"]["desc"  ] = "CONCAT(no_eco, ' ', marca, ' ', modelo, ' ', serie, ' ', tipo)";
    
    $this->Inicializar($strClaseBase, $arrNombresColumnas, $strOpcionListado, $strOpcionGuardar, $strCampoMostrar, $strClaseFiltro, $arrReferencias, "", $strClaseCarga);
    
    $this->arrPlugIns["Locales"][]    = "Plugin_Cotizacion_MuestraLigaEdicion";
    $this->arrPlugIns["Locales"][]    = "Plugin_Cotizacion_CambioEstatus2";
    
    $this->bolABCLista                = false;
    $this->intEdicionPaginaNueva      = 1;
    $this->strUseTemplate             = "cotizacion.tpl.php";
//    $this->strUseTemplate             = "1";
    $this->bolABCListaOcultarTD       = true;
    $this->bolPosibleNuevoElemento    = true;
    $this->intTipoGuardado            = 1;
    $this->intNumeroRes               = 20;
    $this->bolSoloLectura             = false;
    $this->bolPosibleExportarExcel    = true;
    $this->bolPluginsLocalesIzquierda = true;
  }
}

?>
